As e-business and its related requirements grow at “Web speed”, a critical issue is whether the IT infrastructure supporting the Web sites has what it needs to provide available, scalable, fast, and efficient access to the company's information, products, and services. More than ever, CIOs (Chief Information Officers) and their teams struggle with the challenges to minimize downtime and network bottlenecks and maximize the use of the hardware and software that comprises their e-business infrastructure.
Although even with this growing complexity, typical IT infrastructures can be analyzed and related models can be developed to assist in predicting and planning how to meet future requirements, the results are not satisfactory. The predictions can become somewhat complex when, as is often the case, there is a number of performance criteria that must all be simultaneously met, while at the same time maximizing system throughput or the number of concurrent users supported by the system.
Capacity planning and performance modeling of complex computer systems generally require detailed information about the workload assumed to be running on those systems. For detailed performance studies of processors, a trace of the workload is typically used. This, combined with the right model of the processor hardware can be used to accurately estimate the average number of cycles used per instruction. Combining this with the processor cycle time leads to an accurate estimate for the processor MIPS (Million Instructions Per Second).
For higher-level system modeling where the user throughput rate is to be estimated, the processor MIPS rate is typically taken as an input assumption for the model. This, combined with the path length (i.e. number of instructions executed by a typical user) can be used to estimate the system throughput in terms of the number of users per second that can be served. Additional factors, such as the average number of network bytes transferred, or disk I/O operations done per user can also be factored into the calculations.
Given adequate information about the workload, a simple capacity planning can be done by calculating the number of users per second that corresponds to a chosen utilization of some system resources (i.e. processors, disks, network). Typical utilization targets might be 30% average processor utilization, or 50% average disk utilization. More detailed estimates that project the overall response time per user (factoring in queuing effects on various resources) can also be made using well known Mean Value Analysis techniques. This can be applied in an iterative fashion gradually increasing the user arrival rate to the system until the projected response time reaches to the predefined limit.
While these types of system analysis do not require detailed instruction traces, they still require path length, disk 10, and network data rates for the average user. Often times this information can be obtained from measurements or traces. However, for many studies of new workloads in the rapidly emerging world of web serving and e-Business, such data often does not exist due to the newness of the workloads, or because projections are needed for an application that has not yet been developed.
What is needed is a modeling technique for simultaneously satisfying multiple objectives of a computer system (i.e. system criteria) without requiring a detailed knowledge of the workload characteristics. The user of a system performance modeling tool embodying such modeling technique is allowed to specify any number of system criteria that must all be simultaneously met. Typical examples of such system criteria are: maximum allowed utilizations for various resources in the system, maximum overall response time, maximum number of users simultaneously in the system, and maximum average queue length at any resource in the system. The modeling technique may be used to find, for example, the maximum user arrival rate that meets all specified system criteria (i.e. objectives).